perm filename KI.SAI[1,ALS] blob sn#090760 filedate 1974-03-13 generic text, type T, neo UTF8
00100	BEGIN "KI"
00200	DEFINE ⊂="COMMENT",CR="'15",LF="'12", CRLF="CR&LF";
00300	⊂ The master control program for the KI KA KU system. This program
00400	calls on various subroutines to perform the required functions of
00500	a simple speech communication system which can converse with a speaker
00600	after a minimum amount of adaptive learning in a very simple code
00700	involving the principle vowel sounds pronounced following the stop
00800	consonant "K". The hope is that the system can operate over the
00900	telephone in a reasonably noisy environment with a group of perhaps 100
01000	different speakers;
01100	
01200	REQUIRE "KISAY.REL[KI,ALS]" LOAD_MODULE;
01300	REQUIRE "KIHEAR.REL[KI,ALS]" LOAD_MODULE;
01400	EXTERNAL PROCEDURE SAYIT(STRING UTTER);
01500	EXTERNAL STRING PROCEDURE HEARIT(STRING EH);
01600	
01700	PROCEDURE SAY(STRING UTTER);
01800	BEGIN
01900	
01910	FOR I←0 STEP 1 UNTIL 10 DO  IF UTTER=UTTERN[I] THEN DONE;
01920	FILEN←UTTER&".SAY[KI,ALS];
02000	CLOSE(CHAN1); OPEN(CHAN1,"DSK",0,1,0,10,BRCHR,EOF);
02100	LOOKUP(CHAN1,FILEN,ER);
02200	OUTSTR("FILE IS OPEN"&CRLF);
02300	OUTSTR("ER CONTAINS "&COS(ER)&CRLF);
02400	IF ER THEN BEGIN
02500	  OUTSTR("File "&FILEN&" is supposed to say ");
02550	  for i←0 step 1 until 10 do
02600	  READ←INCHWL;
02700	  IF READ="" THEN PP←1 ELSE PP←CVD(READ);
02800	  END ELSE BEGIN
02900	  PP←CVD(INPUT(CHAN1,1));
03000	⊂  RENAME(CHAN1,NULL,0,0);
03100	OUTSTR("PP= "&CVS(PP)&CRLF);
03200	  CLOSE(CHAN1);
03300	  END;
03400	OUTSTR("READY TO CALL FMAIN(PP)"&CRLF);
03500	⊂ PTOSTR(0,"K"&CRLF);
03600	START_CODE '047000400037; MOVEM 0,SEGNAM; '047040400017; END;
03700	  FMAIN(PP);
03800	END;
03900	
04000	
04100	
04200	LABEL STARTP;
04300	
04400	CHAN1←1;
04500	STDBRK(1);
04600	STARTP:
04700	SAYIT("HELLO");
04800	IF HEARIT("YES")="YES" THEN OLD ELSE NEW;